package com.imooc;

import java.util.ArrayList;
import java.util.List;

public class TestGeneric {

	/*
	 * 泛型Course
	 */
	public List<Course> courses;
	
	public TestGeneric() {
		this.courses = new ArrayList<Course>();
	}
	
	/*
	 * 添加元素
	 */
	public void testAdd() {
		Course cr = new Course("1", "Linux系统管理");
		courses.add(cr);
		//泛型集合中不能添加泛型规定的类型及其子类型以外的对象，否则报错
//		courses.add("可以随便添加点东西吗");
		Course cr2 = new Course("2", "大学语文");
		courses.add(cr2);
	}
	
	public void testForEach() {
		for(Course cr : courses) {
			System.out.println(cr.id + "->" +cr.name);
		}
	}
	
	/**
	 * 泛型集合可以添加子类型的对象实例
	 * 
	 */
	public void testChild() {
		ChildCourse ccr = new ChildCourse();
		ccr.id = "3";
		ccr.name = "我是子类型的对象实例~";
		courses.add(ccr);
				
	}
	public static void main(String[] args){
		TestGeneric tg = new TestGeneric();
		tg.testAdd();
		tg.testForEach();
		tg.testChild();
		tg.testForEach();
	}
}
